Conversation
There was a problem hiding this comment.
Pull request overview
This PR refactors the StrCpyInstruction class to support extensibility through inheritance, enabling the creation of specialized instruction variants like UnsafeStrCpyInstruction. The refactoring introduces a protected constructor that accepts a custom instruction name parameter, allowing subclasses to override the instruction name while reusing the core logic.
Key changes:
- Introduced extensible design pattern with protected constructor accepting instruction name parameter
- Created
UnsafeStrCpyInstructionas the first subclass demonstrating the extensibility - Fixed a typo in return value validation (changed
returns != 11toreturns != 1)
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/nsl/instruction/StrCpyInstruction.java | Refactored to support extensibility by adding a protected instructionName field and a protected constructor accepting a custom instruction name, while maintaining backward compatibility through constructor chaining |
| src/nsl/instruction/UnsafeStrCpyInstruction.java | New instruction class extending StrCpyInstruction with custom name "UnsafeStrCpy", demonstrating the extensibility pattern |
| src/nsl/statement/Statement.java | Registered the new UnsafeStrCpyInstruction in the instruction matching logic in alphabetical order |
| examples/Test.nsl | Removed temporary test file |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.